/* 请求用前缀 */
// const commonUrl = "https://www.bangbangtongcheng.com/conven"; //  正式
const commonUrl = "https://test.bangbangtongcheng.com/conven" // 测试
// const commonUrl = "http://5f1c3e2c.r7.cpolar.top/conven" // 开发本地
// const commonUrl = "https://2ef15ad.r7.cpolar.top/conven" // 开发本地
// const commonUrl = 'http://192.168.1.178:8083/conven'
// const commonUrl = 'http://192.168.1.96:8080/conven'

// http://15771110980.gnway.cc:8000/conven
// const commonUrl="http://192.168.0.118:8083/conven/"

// const commonUrl="http://conven.lefenglian.top/conven/"

/* 聊天soket前缀 */
// const commonChat = "wss://ws.weisou.online/conven/";
const commonChat = 'wss://www.bangbangtongcheng.com/conven/'

/* 图前缀 */
const commonImgUrl = 'https://www.bangbangtongcheng.com/conven/up/'
const commonImgsrc = ''

/* 支付路径 */
const commonpay = 'https://www.bangbangtongcheng.com/conven/'

/* 上传路径 */
// const commonResume = 'https://ws.weisou.online/uploads/'
const commonResume = 'https://www.bangbangtongcheng.com/upload/'

/* 简历路径前缀 */
// const commonTemResume = 'https://ws.weisou.online/uploads/'
const commonTemResume = 'https://www.bangbangtongcheng.com/uploads/'
var requestTask = null
// post请求封装
function postRequest(url, data, option = {}) {
  // if(uni.getStorageSync('user_id')){
  //     console.log(uni.getStorageSync('user_id'))
  // }else{
  //     window.localStorage.href = 'https://www.gczby.com/llsc/Wxlogin.do'
  // }
  // uni.showLoading({
  //     title: '加载中',
  //     mask: false
  // })
  var promise = new Promise((resolve, reject) => {
    var that = this
    var postData = data
    option.header = option.header || 'application/x-www-form-urlencoded'
    uni.request({
      url: commonUrl + url,
      data: postData,
      method: 'POST',
      header: {
        'content-type': option.header,
        token: uni.getStorageSync('token'),
      },
      success: function (res) {
        // uni.hideLoading();
        // console.log(res.data,99)
        //返回什么就相应的做调整
        if (res.data.code == 60024 || res.data.code == 60029 || res.data.code == 60028) {
          // 重复绑车牌码的状态码 | 二维码未绑定商家情况
          resolve(res.data)
        } else if (res.data.code == 200 || res.code == 60015 || res.data.code == 60014 || res.data.code == 60016 || res.code == 60025 || res.data.code == 60027 || res.data.code == 60026) {
          // 发送礼品返回code需放开 （code为60014,60016）
          resolve(res.data)
        } else if (res.data.code == -1) {
          uni.showToast({
            title: res.data.msg,
            icon: 'none',
          })
          uni.reLaunch({
            url: '/pages/login/login',
          })
          // 请求服务器成功，但是由于服务器没有数据返回，此时无code。会导致这个空数据
          //接口后面的then执行
          // 不下去，导致报错，所以还是要resolve下，这样起码有个返回值，
          //不会被阻断在那里执行不下去！
          resolve(res.msg)
        } else if (res.data.code == '000') {
          uni.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        } else {
          uni.showToast({
            title: res.data.exceptionMessage || res.data.msg,
            icon: 'none',
            duration: 2500,
          })
          reject(res.data)
        }
      },
      error: function (e) {
        uni.hideLoading()
        reject('网络出错')
      },
    })
  })
  return promise
}

// get请求封装
function getRequest(url, data) {
  // if(uni.getStorageSync('user_id')){
  //     console.log(uni.getStorageSync('user_id'))
  // }else{
  //     var p = window.location.protocol;
  //     var a = document.createElement("a");
  //     a.setAttribute("href", `https://www.gczby.com/llsc/Wxlogin.do`);
  //     a.setAttribute("target", "_blank");
  //     a.click();
  //     document.getElementsByTagName("body")[0].appendChild(a);
  //         }
  // uni.showLoading({
  // 	title: '加载中',
  // 	mask: false
  // })
  var promise = new Promise((resolve, reject) => {
    var that = this
    var postData = data

    that.requestTask = uni.request({
      url: commonUrl + url,
      data: postData,
      method: 'GET',
      dataType: 'json',
      header: {
        'content-type': 'application/json',
        token: uni.getStorageSync('token'),
      },
      success: function (res) {
        // console.log(res,999)
        // uni.hideLoading();
        if (res.data.code == 200) {
          resolve(res.data)
        } else if (res.data.code == -1) {
          uni.showToast({
            title: res.data.msg,
            icon: 'none',
          })
          uni.reLaunch({
            url: '/',
          })
          // 请求服务器成功，但是由于服务器没有数据返回，此时无code。会导致这个空数据
          //接口后面的then执行
          // 不下去，导致报错，所以还是要resolve下，这样起码有个返回值，
          //不会被阻断在那里执行不下去！
          resolve(res.msg)
        } else if (res.data.code == '000') {
          uni.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        } else {
          uni.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        }
      },
      error: function (e) {
        // uni.hideLoading();
        reject('网络出错')
      },
    })
  })
  return promise
}

function putRequest(url, data) {
  // if(uni.getStorageSync('user_id')){
  //     console.log(uni.getStorageSync('user_id'))
  // }else{
  //     var p = window.location.protocol;
  //     var a = document.createElement("a");
  //     a.setAttribute("href", `https://www.gczby.com/llsc/Wxlogin.do`);
  //     a.setAttribute("target", "_blank");
  //     a.click();
  //     document.getElementsByTagName("body")[0].appendChild(a);
  //         }
  // uni.showLoading({
  // 	title: '加载中',
  // 	mask: false
  // })
  var promise = new Promise((resolve, reject) => {
    var that = this
    var postData = data

    that.requestTask = uni.request({
      url: commonUrl + url,
      data: postData,
      method: 'PUT',
      dataType: 'json',
      header: {
        'content-type': 'application/x-www-form-urlencoded',
        token: uni.getStorageSync('token'),
      },
      success: function (res) {
        // console.log(res,999)
        // uni.hideLoading();
        if (res.data.code == 200) {
          resolve(res.data)
        } else if (res.data.code == -1) {
          uni.showToast({
            title: res.data.msg,
            icon: 'none',
          })
          uni.reLaunch({
            url: '/',
          })
          // 请求服务器成功，但是由于服务器没有数据返回，此时无code。会导致这个空数据
          //接口后面的then执行
          // 不下去，导致报错，所以还是要resolve下，这样起码有个返回值，
          //不会被阻断在那里执行不下去！
          resolve(res.msg)
        } else if (res.data.code == '000') {
          uni.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        } else {
          uni.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        }
      },
      error: function (e) {
        // uni.hideLoading();
        reject('网络出错')
      },
    })
  })
  return promise
}

function cancel() {
  this.requestTask.abort()
}

module.exports = {
  post: postRequest,
  get: getRequest,
  put: putRequest,
  cancel: cancel,
  imgUrl: commonImgUrl,
  commonUrl: commonUrl,
  imgSrc: commonImgsrc,
  //upload:commonUpload,
  commonpay: commonpay,
  commonResume: commonResume,
  commonTemResume: commonTemResume,
  commonChat: commonChat,
}
